package com.dinkshow.dinkshow.util.dao;

import com.dinkshow.dinkshow.util.Pager;
import com.dinkshow.dinkshow.util.QueryHelper;

import java.util.List;

/**
 * @author  yvwc
 * JPA+Hibernate 自定义sql查询工具类
 */
public interface CommonDAO {
    /**
     * 分页方法
     *
     * @param helper
     * @return
     */
    <W> Pager<W> findPager(QueryHelper helper);

    /**
     * 分页查询 返回指定的对象
     *
     * @param helper
     * @param tClass
     * @param <W>
     * @return
     */
    <W> Pager<W> findPager(QueryHelper helper, Class<W> tClass);

    /**
     * 列表查询
     *
     * @param helper
     * @return
     */
    <W> List<W> findList(QueryHelper helper);

    /**
     * 列表查询 返回指定对象
     *
     * @param helper
     * @param tClass
     * @param <W>
     * @return
     */
    <W> List<W> findList(QueryHelper helper, Class<W> tClass);
}
